<?php

/**
 * Permite hacer los reportes en .pdf
 * @package simertweb 
 * @subpackage controllers 
 * @category Administración, Recaudación
 * @author Grecia Espinoza <mrcl2587@gmail.com>
 * @author Juan Maldonado  <jgmaldonadoj@gmail.com>
 * @version 1.0  
 */
class Reportes extends CI_Model {

    /**
     * Genera el comprobante de pago para la venta de tarjetas prepago SIMERT
     * @param type $cabecera es el título de la columnas de la tabla
     * @param type $contenido es el detalle de la venta
     * @param type $titulo es título del cmprobante
     * @param type $fecha es la fecha de la venta
     */
    public function pdf_ventas($cabecera, $contenido, $titulo, $fecha) {
        //Colores, ancho de linea, tipos de letras  
        $this->load->library('Pdf');
        ob_start();
        $pdf = new Pdf();
        // $pageLayout = array(200, 200); //  or array($height, $width) 
        //$pdf=new TCPDF('p', 'pt', 'A7', true, 'UTF-8', false);
        // Márgenes
        $pdf->SetMargins(PDF_MARGIN_LEFT, 20, PDF_MARGIN_RIGHT);
        // $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
        $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
        // Fuente de la cabecera y el pie de página
        $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
        $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
        // Información referente al PDF
        //$pdf->SetCreator(PDF_CREATOR);
        $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, "GAD MUNICIPAL DE LOJA", "Sistema de Estacionamiento Rotativo Tarifado - SIMERT\nwww.simertnet.sytes.net");
        $pdf->setFontSubsetting(true);
        $pdf->SetFont('dejavusans', '', 12, '', true);
        // Add a page
        // This method has several options, check the source code documentation for more information.
        $pdf->AddPage('L');
        // Set some content to print
        //Add a custom size  
        $tbl_header = '<table border="1.3">';
        $tbl_footer = '</table>';
        $tbl = '';
        $inicio = '<tr>';
        $fin = '</tr>';
        $encabezado = '';
        $otra = '';
        for ($index = 0; $index < count($cabecera); $index++) {
            $encabezado = $encabezado . '<th bgcolor="16776961"> ' . $cabecera[$index] . '<br> </th>';
        }
        $encabezado = $inicio . $encabezado . $fin;

        foreach ($contenido as $value) {
            foreach ($value as $key) {
                $otra = $otra . '<td>' . $key . '</td>';
            }
            $tbl = $inicio . $otra . $fin . $tbl;
            $otra = "";
        }

        $tbl = $encabezado . $tbl;

// Print text using writeHTMLCell()
        $pdf->writeHTML($titulo, true, true, false, false, 'C');
        $pdf->writeHTML($fecha, true, false, false, false, 'L');
        $pdf->writeHTML($tbl_header . $tbl . $tbl_footer, true, false, false, false, 'C');
// ---------------------------------------------------------
// Close and output PDF document
// This method has several options, check the source code documentation for more information.
        $pdf->Output('', 'I');
//============================================================+
// END OF FILE
//============================================================+
    }

    /**
     * Genera un reporte .pdf de las tasas de ocupación, rotación, estacionamiento
     * y venta de tarjetas
     * @param type $cabecera son los títulos de las columnas de la tabla
     * @param type $contenido son los datos de la tasa correspondiente
     * @param type $titulo el el título del reporte
     * @param type $fecha es la fecha del reporte
     */ 
    public function pdf($cabecera, $contenido, $titulo, $fecha) {
        //Colores, ancho de linea, tipos de letras  
        $this->load->library('Pdf');
        ob_start();
        $pdf = new Pdf();
        // Márgenes
        $pdf->SetMargins(PDF_MARGIN_LEFT, 20, PDF_MARGIN_RIGHT);
        $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
        // Fuente de la cabecera y el pie de página
        $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
        $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
        // Información referente al PDF
        $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, "GAD MUNICIPAL DE LOJA", "Sistema de Estacionamiento Rotativo Tarifado - SIMERT\nwww.simertnet.sytes.net");
        $pdf->setFontSubsetting(true);
        $pdf->SetFont('dejavusans', '', 12, '', true);
        $pdf->AddPage('L');
        $tbl_header = '<table border="1.3">';
        $tbl_footer = '</table>';
        $tbl = '';
        $inicio = '<tr>';
        $fin = '</tr>';
        $encabezado = '';
        $otra = '';
        for ($index = 0; $index < count($cabecera); $index++) {
            $encabezado = $encabezado . '<th bgcolor="16776961"> ' . $cabecera[$index] . '<br> </th>';
        }
        $encabezado = $inicio . $encabezado . $fin;
        foreach ($contenido as $value) {
            foreach ($value as $key) {
                $otra = $otra . '<td>' . $key . '</td>';
            }
            $tbl = $inicio . $otra . $fin . $tbl;
            $otra = "";
        }
        $tbl = $encabezado . $tbl;
        $pdf->writeHTML($titulo, true, true, false, false, 'C');
        $pdf->writeHTML($fecha, true, false, false, false, 'L');
        $pdf->writeHTML($tbl_header . $tbl . $tbl_footer, true, false, false, false, 'C');
        $pdf->Output('', 'I');
    }

    /**
     * Genera un comprobante de pago del pago de los espacios reservados
     * @param type $contenido es el detalle del pago
     * @param type $titulo es el título de comprobante
     */
    public function comprobante($contenido, $titulo) {
        $this->load->library('Pdf');
        ob_start();
        $pdf = new TCPDF('p', 'pt', 'A6', true, 'UTF-8', false);
        // Márgenes
        $pdf->SetMargins(PDF_MARGIN_LEFT, 40, PDF_MARGIN_RIGHT);
        // Fuente de la cabecera y el pie de página
        $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
        $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
        $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, "GAD MUNICIPAL DE LOJA", "Sistema de Estacionamiento Rotativo Tarifado - SIMERT\nwww.simertnet.sytes.net");
        $pdf->SetFont('dejavusans', '', 10, '', true);

// Add a page
// This method has several options, check the source code documentation for more information.
        $pdf->AddPage('P');


        $tbl_header = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<table border="0">';
        $tbl_footer = '</table>';
        $tbl = '';
        $inicio = '<tr>';
        $fin = '</tr>';
        $otra = '';

        for ($index = 0; $index < count($contenido) / 2; $index++) {
            $otra = $otra . '<td>' . $contenido[$index] . '</td>';
            $otra = $otra . '<td>' . $contenido[$index + (count($contenido) / 2)] . '</td>';
            $tbl = $inicio . $otra . $fin . $tbl;
            $otra = "";
        }


        $pdf->writeHTML($titulo, true, true, false, false, 'C');
        $pdf->writeHTML($tbl_header . $tbl . $tbl_footer, true, false, false, false, '');
// ---------------------------------------------------------
// Close and output PDF document
// This method has several options, check the source code documentation for more information.
        $pdf->Output('', 'I');
//============================================================+
// END OF FILE
//============================================================+
    }

}

?>
